package com.renu;

import com.renu.jdependencyanalyser.cons.DefaultFileCons;

import javax.swing.*;
import java.awt.*;
import java.net.URL;

public class ImagePanelDemo {

    public static void main(String[] args) {
        SwingUtilities.invokeLater(() -> {
            JFrame frame = new JFrame("Image Panel Demo");
            frame.setSize(400, 300);
            frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

            // 创建 ImagePanel，使用 BorderLayout 布局管理器
            JPanel imagePanel = new ImagePanel();
            imagePanel.setBackground(Color.WHITE);

            // 添加 ImagePanel 到 JFrame
            frame.add(imagePanel);

            frame.setVisible(true);
        });
    }

    // 包含图片的 JPanel，使用 BorderLayout
    static class ImagePanel extends JPanel {

        public ImagePanel() {
            setLayout(new BorderLayout());

            // 创建 JLabel，并设置图片
            JLabel imageLabel = createImageLabel();

            // 添加 JLabel 到 JPanel
            add(imageLabel, BorderLayout.CENTER);
        }

        private JLabel createImageLabel() {
            // 获取图片的 URL，这里假设图片文件在 classpath 下
            URL imageUrl = ImagePanelDemo.class.getResource(DefaultFileCons.SAMPLE_OUTER_CLASS);

            if (imageUrl != null) {
                // 创建 ImageIcon 加载图片
                ImageIcon imageIcon = new ImageIcon(imageUrl);

                // 创建 JLabel 并设置图片
                JLabel label = new JLabel(imageIcon);

                return label;
            } else {
                // 处理图片加载失败的情况
                System.err.println("Failed to load image.");
                return new JLabel("Image not found");
            }
        }
    }
}
